Malicious users, such as hackers, attempt to exploit vulnerabilities within computer program. For such reason, once a vulnerability is discovered, there is a race between hackers and developers. While the developers attempt to patch the computer program and distribute the patch to all instances of the computer program, the hackers attempt to exploit the vulnerability to hack instances of the computer program.
In some cases, the vulnerability is not announced and is kept in confidence until a patch is ready to be deployed. Such is the case in operating systems, such as iOS™ and Android™, where once a vulnerability is detected, the development team attempts to patch the system. Only once the patch is ready for distribution, the vulnerability is announced together with the announcement of a fix to the vulnerability. Naturally, such can only be the case if the vulnerability is detected by a non-malicious user who cooperate with the developers of the operating system. Moreover, once the patch is released, it may not necessarily be deployed for every computing device. As a result some devices may still be susceptible to the exploitation of the vulnerability even after the patch is made available.